package com.nanohadoop.mapreduce;

import com.nanohadoop.utils.Configuration;
import java.io.Serializable;

/**
 * MapReduce作业配置类
 */
public class JobConfiguration implements Serializable {
    private static final long serialVersionUID = 1L;

    private String jobName;
    private String inputPath;
    private String outputPath;
    private String mapperClass;
    private String reducerClass;
    private int numReducers;
    private Configuration conf;

    public JobConfiguration() {
        this.conf = Configuration.getInstance();
        this.numReducers = 1; // 默认1个reducer
    }

    // Getters and Setters
    public String getJobName() { return jobName; }
    public void setJobName(String jobName) { this.jobName = jobName; }
    public String getInputPath() { return inputPath; }
    public void setInputPath(String inputPath) { this.inputPath = inputPath; }
    public String getOutputPath() { return outputPath; }
    public void setOutputPath(String outputPath) { this.outputPath = outputPath; }
    public String getMapperClass() { return mapperClass; }
    public void setMapperClass(String mapperClass) { this.mapperClass = mapperClass; }
    public String getReducerClass() { return reducerClass; }
    public void setReducerClass(String reducerClass) { this.reducerClass = reducerClass; }
    public int getNumReducers() { return numReducers; }
    public void setNumReducers(int numReducers) { this.numReducers = numReducers; }
    public Configuration getConf() { return conf; }
    public void setConf(Configuration conf) { this.conf = conf; }
}